docker跟containerd的区别及命令对比 您所在的位置:网站首页 docker 镜像 容器 区别 docker跟containerd的区别及命令对比

docker跟containerd的区别及命令对比

2023-04-21 06:21| 来源: 网络整理| 查看: 265

一、docker 和 containerd的调用链对比 image.png

1.docker由docker-client、dockerd、containerd、docker-shim、runc组成,所以containerd是docker的基础组件之一

2.从k8s的角度看,可以选择 containerd 或 docker 作为运行时组件:由于 containerd 调用链更短,组件更少,更稳定,占用节点资源更少。所以k8s后来的版本开始默认使用 containerd 。

3.containerd 相比于docker , 多了 namespace 概念,每个 image 和 container 都会在各自的namespace下可见。

4.docker 作为 k8s 容器运行时,调用关系为:kubelet --> dockershim (在 kubelet 进程中) --> dockerd --> containerd

5.containerd 作为 k8s 容器运行时,调用关系为:kubelet --> cri plugin(在 containerd 进程中) --> containerd

二、命令区分

1.ctr 是 containerd 的一个客户端工具。 2.crictl 是 CRI 兼容的容器运行时命令行接口,可以使用它来检查和调试 k8s 节点上的容器运行时和应用程序。 3.ctr -v 输出的是 containerd 的版本,crictl -v 输出的是当前 k8s 的版本,从结果显而易见你可以认为 crictl 是用于 k8s 的。

三、常用命令及对比 3.1容器相关 命令 Docker crictl(k8s)推荐 ctr(Containerd) 查看容器列表 docker ps crictl ps ctr -n k8s.io c ls 查看容器详情 docker inspect crictl inspect ctr -n k8s.io c info 查看容器日志 docker logs crictl logs 无 容器内执行命令 docker exec crictl exec 无 挂载容器 docker attach crictl attach 无 显示容器资源使用情况 docker stats crictl stats 无 创建容器 docker create crictl create ctr -n k8s.io c create 启动容器 docker start crictl start ctr -n k8s.io run 停止容器 docker stop crictl stop 无 删除容器 docker rm crictl rm ctr -n k8s.io c del 3.2 pod相关 命令 Docker crictl(k8s) ctr(Containerd) 查看Pod列表 无 crictl pods 无 查看Pod详情 无 crictl inspectp 无 启动Pod 无 crictl runp 无 停止Pod 无 crictl stopp 无 3.3 镜像相关 命令 Docker crictl(k8s) ctr(Containerd) 查看镜像列表 docker images crictl images ctr -n k8s.io i ls 查看镜像详情 docker inspect crictl inspecti 无 拉取镜像 docker pull crictl pull ctr -n k8s.io i pull 推送镜像 docker push 无 ctr -n k8s.io i push 删除镜像 docker rmi crictl rmi ctr -n k8s.io i rm 导入镜像 docker load 无 ctr image import 导出镜像 docker save 无 ctr image export 镜像打tag docker tag 无 ctr image tag 例如: ctr -n=k8s.io image tag docker.io/library/nginx:1.20.1 docker.io/library/nginx:1.20.2


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有